﻿using Abp.Application.Services.Dto;
using SingleUserMall.Common;
using SingleUserMall.Refunds.Form;
using SingleUserMall.Refunds.VO;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SingleUserMall.Refunds
{
    /// <summary>
    /// 退货管理
    /// </summary>
    [Description("退货管理")]
    public interface IRefundManageAppService:IManageService
    {
        /// <summary>
        /// 获取退款申请列表
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task<PagedResultDto<RefundVO>> GetRefundAppliesAsync(RefundSearchForm form);
        /// <summary>
        /// 获取退款历史列表
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task<PagedResultDto<RefundVO>> GetRefundHistoriesAsync(RefundHistorySearchForm form);
        /// <summary>
        /// 获取退款详情
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task<RefundVO> GetRefundAsync(SingleId<long> form);
        /// <summary>
        /// 驳回退款
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task RejectAsync(AuditForm form);
        /// <summary>
        /// 退款通过
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task PassAsync(AuditForm form);
    }
}
